<?xml version="1.0"?>
<doc>
    <assembly>
        <name>MizSharedDll</name>
    </assembly>
    <members>
        <member name="T:Model.CreditCard">
            <summary>
            Summary description for CreditCard.
            </summary>
        </member>
        <member name="T:Model.ExternalAccount">
            <summary>
            Summary description for ExternalAccount.
            </summary>
        </member>
        <member name="M:Model.CreditCard.isNearingLimit">
            <summary>
            Finds out if the balance is nearing the credit limit
            </summary>
            <returns>true if the balance is within a threshold percentage of the limit</returns>
        </member>
        <member name="M:Model.CreditCard.isOverLimit">
            <summary>
            Finds out if the amount is over the credit limit
            </summary>
            <returns></returns>
        </member>
        <member name="M:Model.CreditCard.amountLeftUntilLimit">
            <summary>
            The money left in the balance before it goes over limit.
            </summary>
            <returns>positive if under limit, negative if over</returns>
        </member>
        <member name="T:Model.Cash">
            <summary>
            Summary description for Cash.
            </summary>
        </member>
        <member name="T:Model.DatabaseStorage">
            <summary>
            Summary description for DatabaseStorage.
            </summary>
        </member>
        <member name="M:Model.DatabaseStorage.OpenFile(System.String)">
            <summary>
            To open the DB file(XML file)
            To create the DataSet
            </summary>
        </member>
        <member name="M:Model.DatabaseStorage.CloseFile">
            <summary>
            To close the DB file(XML file)
            To update the DataSet
            </summary>
        </member>
        <member name="T:Model.UserManager">
            <summary>
            The primary enitity class that models all services available and representing the user.
            This is the central basis of the model.
            </summary>
        </member>
        <member name="F:Model.UserManager.remoteConnection">
            <summary>
            All services that are required by the model, primarily data persistance, should be 
            </summary>
        </member>
        <member name="F:Model.UserManager.TransactionList">
            <summary>
            Array of transactions that the user is involved in
            </summary>
        </member>
        <member name="F:Model.UserManager.ExternalAccountList">
            <summary>
            Array of User's External Accounts
            </summary>
        </member>
        <member name="M:Model.UserManager.#ctor(Model.IRemoteService)">
            <summary>
            Initializes the User
            </summary>
            <param name="iniremoteConnection">All services that are required by the model, primarily data persistance, should be offered by this class</param>
        </member>
        <member name="M:Model.UserManager.GetExternalAccounts">
            <summary>
            Return all external accounts of the user
            </summary>
            <returns></returns>
        </member>
        <member name="M:Model.UserManager.UpdateExternalAccountBalance(Model.Transaction)">
            <summary>
            will update balance of the account depending on type of transacion.
            If it is a revenue, and the user is a consumer, then the account is updated.
            If it is an expense, and the user is a payee, then the account is updated.		/// 
            </summary>
            <param name="newTx">The transaction to update to</param>
            <param name="account"></param>
        </member>
        <member name="M:Model.UserManager.revertExternalAccountBalance(Model.Transaction)">
            <summary>
            Rolls back the account balance to what it was before a transaction was committed.
            </summary>
            <param name="oldTx"></param>
        </member>
        <member name="M:Model.UserManager.ModifyTransaction(Model.Transaction,Model.Transaction)">
            <summary>
            Modifies a transaction, and sends notifications if applicable.
            </summary>
            <param name="oldTransaction"></param>
            <param name="newTransaction"></param>
        </member>
        <member name="M:Model.UserManager.NotifyOtherUsersOnTransaction(Model.Transaction)">
            <summary>
            notify all but current user
            </summary>
            <param name="newTransaction"></param>
        </member>
        <member name="M:Model.UserManager.Login(System.String,System.String)">
            <summary>
            Attempts to login to the server. 
            </summary>	
            <exception cref="T:MizExceptions.InvalidUserCredentialsException"></exception>	
            <param name="userName"></param>
            <param name="password"></param>
        </member>
        <member name="M:Model.UserManager.GetAllUserTransactions">
            <summary>
            get the users transactions from the database
            </summary>
        </member>
        <member name="M:Model.UserManager.GenerateExpRevReport">
            <summary>
            Goes through all transactions which occured in the last 30 days
            Sums all expenses and revenues
            </summary>
            <returns>ExpRevPair structure</returns>
        </member>
        <member name="M:Model.UserManager.GenerateExpRevReport(System.DateTime)">
            <summary>
            Generates an expense vs revenue reports which starts from the given date, until today
            </summary>
            <param name="beginDate"></param>
            <returns></returns>
        </member>
        <member name="M:Model.UserManager.GenerateExpRevReport(System.Int32)">
            <summary>
            generates an expense vs revenue report which starts from a set number of days in the past, until now.
            </summary>
            <param name="numDaysAgo"></param>
            <returns></returns>
        </member>
        <member name="M:Model.UserManager.GenerateExpRevReport(System.DateTime,System.DateTime)">
            <summary>
            generates an expense vs revenue report from two set dates
            </summary>
            <param name="beginDate"></param>
            <param name="endDate"></param>
            <returns></returns>
        </member>
        <member name="M:Model.UserManager.ChangePassword(System.String)">
            <summary>
            Chnage Users password on the database
            </summary>
            <param name="newPassord"></param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Model.UserManager.AddNewUser(Model.UserIdentity)" -->
        <member name="M:Model.UserManager.CalcExternalAccountBalance(Model.ExternalAccount)">
            <summary>
            recalculates the balance in an external account
            </summary>
            <param name="bankAccount"></param>
        </member>
        <member name="M:Model.UserManager.RecalculateAllExternalAccountBalance">
            <summary>
            Goes through all transactions and calculates the balance in each account
            </summary>
        </member>
        <member name="M:Model.UserManager.GetAllUserNames">
            <summary>
            gets all the user names in the system
            </summary>
            <returns>An array of user names</returns>
        </member>
        <member name="M:Model.UserManager.GetEnumDescription(System.Enum)">
            <summary>
            Takes and enum and returns the description specified in its attribute
            </summary>
            <param name="en">The enum</param>
            <returns>string representation of the enum</returns>
        </member>
        <member name="M:Model.UserManager.GetTransactionFromID(System.UInt32)">
            <summary>
            will return the transaction object whe asked for by its ID
            </summary>
            <param name="txID"></param>
            <returns></returns>
        </member>
        <member name="M:Model.UserManager.OnTransactionUpdate">
            <summary>
            Raises the TransactionAction event
            </summary>
        </member>
        <member name="M:Model.UserManager.OnExternalAccountUpdate">
            <summary>
            raises the TransactionAction event
            </summary>
        </member>
        <member name="M:Model.UserManager.GetExternalAccountList">
            <summary>
            returns array of strings of account names
            </summary>
            <returns></returns>
        </member>
        <member name="T:Model.DatabaseManagerADO">
            <summary>
            Summary description for DatabaseManagerADO.
            </summary>
        </member>
        <member name="T:Model.IRemoteService">
            <summary>
            Declares the methods that will be called by the clients.
            </summary>
        </member>
        <member name="M:Model.IRemoteService.GetUserNames">
            <summary>
            THis method should return the usernames of all users registered in the database
            </summary>
            <returns>ArrayList of Strings</returns>
        </member>
        <member name="M:Model.IRemoteService.ValidateLogin(Model.UserIdentity)">
            <summary>
            To validate user login 
            </summary>
        </member>
        <member name="M:Model.IRemoteService.AddNewUser(Model.UserIdentity)">
            <summary>
            Add a new user to the System
            It also updates the DB
            </summary>
        </member>
        <member name="M:Model.IRemoteService.ChangePassword(Model.UserIdentity)">
            <summary>
            If the user is logged in, the user's credentials are changed
            </summary>
        </member>
        <member name="M:Model.IRemoteService.LogOut(Model.UserIdentity)">
            <summary>
            Removes the user from the pool of logged on users
            </summary>
        </member>
        <member name="M:Model.IRemoteService.AddNewTransaction(Model.UserIdentity,Model.Transaction,Model.ExternalAccount)">
            <summary>
            Add new transaction into XML database
            </summary>
        </member>
        <member name="M:Model.IRemoteService.GetAllUserTransactions(Model.UserIdentity)">
            <summary>
            Fetch all transactions in which a particular user is involved
            </summary>
            <param name="user"></param>
            <returns></returns>
        </member>
        <member name="M:Model.IRemoteService.GetTransactionsWithNotifications(Model.UserIdentity)">
            <summary>
            Fetch all transactions with a notification flag, in which a particular user is involved
            </summary>
            <param name="user"></param>
            <returns></returns>
        </member>
        <member name="M:Model.IRemoteService.UpdateTransaction(Model.UserIdentity,Model.Transaction,Model.Transaction)">
            <summary>
            Assumes no notification
            </summary>
            <param name="user"></param>
            <param name="tx"></param>
        </member>
        <member name="M:Model.IRemoteService.GetAllUserExternalAccounts(Model.UserIdentity)">
            <summary>
            Fetch all external account information of a user
            </summary>
            <returns></returns>
        </member>
        <member name="M:Model.IRemoteService.TransactionNotificationApproved(Model.UserIdentity,System.UInt32)">
            <summary>
            Remove the notification for this user on this transaction id
            </summary>
            <param name="transactionID"></param>
        </member>
        <member name="M:Model.IRemoteService.NotifyUserOnTransaction(Model.UserIdentity,System.String,System.UInt32)">
            <summary>
            whould will add a notification to the uses notification list
            </summary>
            <param name="user"></param>
            <param name="TransactionID"></param>
            <param name="UserName"></param>
        </member>
        <member name="M:Model.IRemoteService.NotifyUsersOnTransaction(Model.UserIdentity,System.UInt32,System.String[])">
            <summary>
            will notify list of users of a trasaction
            </summary>
            <param name="user"></param>
            <param name="TransactionID"></param>
            <param name="usersToNotify"></param>
        </member>
        <member name="M:Model.IRemoteService.GetNotifications(Model.UserIdentity)">
            <summary>
            get the transaction id's of all transactions where the user is involved.
            </summary>
            <param name="user"></param>
            <returns>ArrayList of strings which are transaction id's</returns>
        </member>
        <member name="M:Model.IRemoteService.UserLastLoggedIn(Model.UserIdentity)">
            <summary>
            Get the time at which the user was last logged in
            </summary>
            <param name="user"></param>
            <returns></returns>
        </member>
        <member name="M:Model.DatabaseManagerADO.GetUserNames">
            <summary>
            THis method should return the usernames of all users registered in the database
            </summary>
            <returns>ArrayList of Strings</returns>
        </member>
        <member name="M:Model.DatabaseManagerADO.ValidateLogin(Model.UserIdentity)">
            <summary>
            To validate user login 
            </summary>
        </member>
        <member name="M:Model.DatabaseManagerADO.AddNewUser(Model.UserIdentity)">
            <summary>
            Add a new user to the System
            It also updates the DB
            </summary>
        </member>
        <member name="M:Model.DatabaseManagerADO.ChangePassword(Model.UserIdentity)">
            <summary>
            If the user is logged in, the user's credentials are changed
            </summary>
        </member>
        <member name="M:Model.DatabaseManagerADO.LogOut(Model.UserIdentity)">
            <summary>
            Removes the user from the pool of logged on users
            </summary>
        </member>
        <member name="M:Model.DatabaseManagerADO.AddNewTransaction(Model.UserIdentity,Model.Transaction,Model.ExternalAccount)">
            <summary>
            Add new transaction into XML database
            </summary>
        </member>
        <member name="M:Model.DatabaseManagerADO.GetAllUserTransactions(Model.UserIdentity)">
            <summary>
            Fetch all transactions in which a particular user is involved
            </summary>
            <param name="user"></param>
            <returns></returns>
        </member>
        <member name="M:Model.DatabaseManagerADO.GetTransactionsWithNotifications(Model.UserIdentity)">
            <summary>
            Fetch all transactions with a notification flag, in which a particular user is involved
            </summary>
            <param name="user"></param>
            <returns>ArrayList of transactions objects</returns>
        </member>
        <member name="M:Model.DatabaseManagerADO.GetNotifications(Model.UserIdentity)">
            <summary>
            get the transaction id's of all transactions where the user is involved.
            </summary>
            <param name="user"></param>
            <returns>ArrayList of uints which are transaction id's</returns>
        </member>
        <member name="M:Model.DatabaseManagerADO.UpdateTransaction(Model.UserIdentity,Model.Transaction,Model.Transaction)">
            <summary>
            Update a transaction. (Does not send notifications.)
            </summary>
            <param name="user"></param>
            <param name="tx"></param>
            <param name="oldtx"></param>
        </member>
        <member name="M:Model.DatabaseManagerADO.GetAllUserExternalAccounts(Model.UserIdentity)">
            <summary>
            Fetch all external account information of a user
            </summary>
            <returns>an arraylist of ExternalAccounts</returns>
        </member>
        <member name="M:Model.DatabaseManagerADO.TransactionNotificationApproved(Model.UserIdentity,System.UInt32)">
            <summary>
            Remove the notification for this user on this transaction id
            </summary>
            <param name="transactionID"></param>
        </member>
        <member name="M:Model.DatabaseManagerADO.NotifyUserOnTransaction(Model.UserIdentity,System.String,System.UInt32)">
            <summary>
            Add a notification to the user's notification list
            </summary>
            <param name="user"></param>
            <param name="TransactionID"></param>
            <param name="UserName"></param>
        </member>
        <member name="M:Model.DatabaseManagerADO.NotifyUsersOnTransaction(Model.UserIdentity,System.UInt32,System.String[])">
            <summary>
            will notify list of users of a trasaction
            </summary>
            <param name="user"></param>
            <param name="TransactionID"></param>
            <param name="usersToNotify"></param>
        </member>
        <member name="M:Model.DatabaseManagerADO.isUserLogged(Model.UserIdentity)">
            <summary>
            Checks if the user is currently logged in
            </summary>
            <param name="user"></param>
            <returns></returns>
        </member>
        <member name="M:Model.DatabaseManagerADO.updateLoginTime(System.String)">
            <summary>
            Updates the last logged in time to the current time
            </summary>
            <param name="username"></param>
        </member>
        <member name="M:Model.DatabaseManagerADO.InitializeLifetimeService">
            <summary>
            Override InitializeLifetimeServices() and simply return null. 
            basically configured an MBR type that will never die as long as the hosting server
            application is alive and kicking.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Model.UserAmountPair.PairListEquals(System.Collections.ArrayList,System.Collections.ArrayList)">
            <summary>
            Compares two lists of user amount pairs
            </summary>
            <param name="oldList"></param>
            <param name="newList"></param>
            <returns></returns>
        </member>
        <member name="M:Model.ReportSharedTransaction.ToString">
            <summary>
            Result of the report in string format.
            </summary>
            <returns>receiver + " must get " + amount + "$ from " + giver + "."</returns>
        </member>
        <member name="T:Model.Transaction">
            <summary>
            Represent a single transaction entered by the user. Get the information from the database and make it available for other model.
            </summary>
        </member>
        <member name="F:Model.Transaction.involvedConsumers">
            <summary>
            For Expense, involvedConsumers are those who use the purchase
            For Revenue, involvedConsumers are those who receive the revenue
            For Transfer, involvedPayees = involvedConsumers
            </summary>
        </member>
        <member name="M:Model.Transaction.isUserInvolved(System.String)">
            <summary>
            Searches the list of payees and consumers to determine if a user is involved in a transaction or not
            </summary>
            <param name="username"></param>
            <returns>true if a user is involved.</returns>
        </member>
        <member name="M:Model.Transaction.generateSummaryReport">
            <summary>
            goes through the list of involved consumers and payees and generates a list of "who owes whom".
            </summary>
            <returns>ArrayList of ReportSharedTransaction</returns>
        </member>
        <member name="M:Model.Transaction.InvolvedUserAmount(System.String)">
            <summary>
            If the transaction is an expense, find the total amount that a payee paid.
            If it is a revenue, find the total amount that a consumer used.
            </summary>
            <param name="username"></param>
            <returns></returns>
        </member>
        <member name="M:Model.Transaction.isShared">
            <summary>
            Finds out if this transaction involve more that one user.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Model.Transaction.getInvolvedUsers">
            <summary>
            This function returns all users involved in the transaction
            </summary>
            <returns></returns>
        </member>
        <member name="M:Model.Transaction.EqualsIgnoreAccount(Model.Transaction)">
            <summary>
            ID and source account name is ignored
            </summary>
            <param name="tx1"></param>
            <param name="tx"></param>
            <returns></returns>
        </member>
        <member name="M:Model.Transaction.IsPayee(System.String)">
            <summary>
            checks if this user was in the list of payees
            </summary>
            <param name="username"></param>
            <returns></returns>
        </member>
        <member name="M:Model.Transaction.IsConsumer(System.String)">
            <summary>
            Checks if the user is in the list of consumers
            </summary>
            <param name="username"></param>
            <returns></returns>
        </member>
        <member name="P:Model.Transaction.IsNotify">
            <summary>
            does the transaction have a notification
            </summary>
        </member>
        <member name="T:Model.UserIdentity">
            <summary>
            All information that is needed to represent the identification of a user.
            This information acts as the users passport, and is sent remotely for validation/security purposes.
            </summary>	
        </member>
        <member name="M:Model.UserIdentity.#ctor(System.String)">
            <summary>
            User with blank password
            </summary>
            <param name="iniName"></param>
        </member>
        <member name="T:Model.BankAccount">
            <summary>
            Summary description for BankAccount.
            </summary>
        </member>
        <member name="T:MizEventArgs.ActionTransactionUpdate">
            <summary>
            
            </summary>
        </member>
        <member name="T:MizExceptions.InvalidUserCredentialsException">
            <summary>
            User entered a wrong username or password in the login screen
            </summary>
        </member>
        <member name="T:Model.NotificationRecord">
            <summary>
            Summary description for NotificationRecord.
            </summary>
        </member>
        <member name="T:Model.RecurrenceRecord">
            <summary>
            Extends the transaction class to specialize it as a recurrence.
            </summary>
        </member>
        <member name="M:Model.RecurrenceRecord.isOccuredToday">
            <summary>
            This method will check if today is a recurring today  
            </summary>
            <returns>Boolean True or False</returns>
        </member>
        <member name="M:Model.RecurrenceRecord.FindNextTransacted">
            <summary>
            This method will get the next transaction date
            </summary>
            <returns></returns>
        </member>
        <member name="M:Model.RecurrenceRecord.ProduceNextTransaction">
            <summary>
            This method will creat a transaction object and return it.
            </summary>
            <returns>The next transaction that will be created in the next occurance</returns>
        </member>
        <member name="M:Model.RecurrenceRecord.isOverdue">
            <summary>
            Checks if there are any occurances that were missed
            </summary>
            <returns>true if transactions have occured beteen the last time this was viewed</returns>
        </member>
        <member name="M:Model.RecurrenceRecord.ProduceOverdueTransactions">
            <summary>
            generates all the transactions that have not been created since the last created occurance.
            Updates the last transacted date to today.
            </summary>
            <returns>A list of Transaction objects</returns>
        </member>
        <member name="M:Model.RecurrenceRecord.TimeToNextOccurance">
            <summary>
            The time until the next recurrence
            </summary>
            <returns></returns>
        </member>
        <member name="T:Model.RecurrenceRecord.RecurrencePattern">
            <summary>
            Defines the type of usable recurrence patterns available. 
            Enum because (ask shiv)
            </summary>
            <remarks>At any give time, to check if a recurence pattern is of a particular type, you can say:
            if (myRecurrence.recurrencePattern == RecurrenceRecord.RecurrencePattern.Weekly)</remarks>
        </member>
    </members>
</doc>
